home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / ffccflow / ffccflow.lha / ffccc+flow / ffccc / PRTCOM.f < prev    next >
Encoding:
Text File  |  1992-07-31  |  2.3 KB  |  66 lines

  1.       SUBROUTINE PRTCOM 
  2. *-----------------------------------------------------------------------
  3. *   
  4. *   Prints common block usage and variables referenced  
  5. *   as prepared by routine PROCOM (option COMMON).  
  6. *   
  7. *-----------------------------------------------------------------------
  8.       include 'PARAM.h' 
  9.       include 'ALCAZA.h' 
  10.       include 'STATE.h' 
  11.       CHARACTER*(MXNMCH) SLOC(5)
  12.       DIMENSION ILOC(5) 
  13.       IF(NCBNAM.GT.0)  THEN 
  14.          NUSE=0 
  15.          DO 10 I=1,NCBNAM   
  16.             IF(LCBNAM(I).GT.0) NUSE=NUSE+1  
  17.    10    CONTINUE   
  18.          WRITE(MPUNIT,10000) SCROUT,NCBNAM,NUSE 
  19.          WRITE(MPUNIT,10010) (SCBNAM(I),LCBNAM(I),I=1,NCBNAM)   
  20.          IF(ICBPRT.GT.0) THEN   
  21.             WRITE(MPUNIT,10020) ICBPRT  
  22.             DO 40 I=1,NCBNAM
  23.                N=0  
  24.                NT=0 
  25.                K=KCBGRP(I)  
  26.                DO 20 J=1,NCBGRP(I)  
  27.                   IF(LCBVAR(K+J).NE.0) THEN 
  28.                      N=N+1  
  29.                      NT=NT+1
  30.                      SLOC(N)=SCBVAR(K+J)
  31.                      ILOC(N)=LCBVAR(K+J)
  32.                      IF(NT.EQ.ICBPRT) GOTO 30   
  33.                      IF(N.EQ.5) THEN
  34.                         IF(NT.LE.5) THEN
  35.                            WRITE(MPUNIT,10030) SCBNAM(I),(SLOC(M),ILOC  
  36.      +                     (M),M=1,N)   
  37.                         ELSE
  38.                            WRITE(MPUNIT,10040) (SLOC(M),ILOC(M),M=1,N)  
  39.                         ENDIF   
  40.                         N=0 
  41.                      ENDIF  
  42.                   ENDIF 
  43.    20          CONTINUE 
  44.    30          CONTINUE 
  45.                IF(N.GT.0) THEN  
  46.                   IF(NT.LE.5) THEN  
  47.                      WRITE(MPUNIT,10030) SCBNAM(I),(SLOC(M),ILOC(M),M=1,
  48.      +               N) 
  49.                   ELSE  
  50.                      WRITE(MPUNIT,10040) (SLOC(M),ILOC(M),M=1,N)
  51.                   ENDIF 
  52.                ENDIF
  53.    40       CONTINUE
  54.          ENDIF  
  55.       ENDIF 
  56. 10000 FORMAT(/' +++ routine ',A8,' has ',I5,' common blocks ',  
  57.      +'of which ',I5,' are used')   
  58. 10010 FORMAT('    c.b. name + no. of var. used  ',T45, A8,I4,3X,A8,I4, 3
  59.      +X,A8,I4,3X,A8,I4,3X,A8,I4/ (T45,A8,I4,3X,A8,I4,3X,A8,I4,3X,A8,I4,3
  60.      +X,A8,I4)) 
  61. 10020 FORMAT(/'     list of first ',I5,' common variables in each ',
  62.      +'block + number of references'/)  
  63. 10030 FORMAT('  /',A8,'/',T20,5(A8,I4,3X))  
  64. 10040 FORMAT(T20,5(A8,I4,3X))   
  65.       END   
  66.